//package com.ch.chatbot.domain.proxy;
//
//import cn.hutool.json.JSONUtil;
//import com.ch.chatbot.domain.model.vo.ChatGptTemplate;
//
//import java.net.*;
//import java.util.Collections;
//
//public class OpenAIProxy {
//
//    public static void main(String[] args) throws Exception {
//        // Shadowsocks代理服务器地址和端口
//        String proxyHost = "127.0.0.1";
//        int proxyPort = 1080;
//        // OpenAI API地址
//        String apiUrl = "https://api.openai.com/v1/chat/completions";
//        // OpenAI API请求数据
//        ChatGptTemplate chatGptTemplate = new ChatGptTemplate();
//        chatGptTemplate.setModel("gpt-3.5-turbo");
//        chatGptTemplate.setPrompt("Hello, OpenAI!");
//        chatGptTemplate.setTemperature(0.9);
//        chatGptTemplate.setMax_tokens(150);
//        chatGptTemplate.setTop_p(1);
//        chatGptTemplate.setFrequency_penalty(0);
//        chatGptTemplate.setPresence_penalty(0.6);
//        chatGptTemplate.setStop(Collections.singletonList("\n"));
//        String req = JSONUtil.toJsonStr(chatGptTemplate);
//        // 创建代理服务器地址
//        SocketAddress proxyAddress = new InetSocketAddress(proxyHost, proxyPort);
//        // 创建代理服务器
//        Proxy proxy = new Proxy(Proxy.Type.SOCKS, proxyAddress);
//        // 创建URL对象
//        URL url = new URL(apiUrl);
//        // 打开连接
//        URLConnection connection = url.openConnection(proxy);
//
//        // 设置请求属性
//        connection.setDoOutput(true);
//        connection.setRequestProperty("Content-Type", "application/json");
//        connection.setRequestProperty("Authorization", "Bearer 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");
//        System.out.println("====  start ==== req = "+req);
//        // 发送POST请求
//        connection.getOutputStream().write(req.getBytes());
//
//        // 读取响应
//        byte[] buffer = new byte[1024];
//        int len = connection.getInputStream().read(buffer);
//
//        // 打印响应
//        System.out.println(new String(buffer, 0, len));
//
//        // 关闭连接
//        connection.getInputStream().close();
//        connection.getOutputStream().close();
//    }
//
//}
